跳到主要内容

gRPC 源码结构

grpc 使用 protobuf(google 的序列化框架)作为通信协议,底层上使用 http2 作为其传输协议,grpc 源码中自己实现了 http2 的服务端跟客户端,而并没有用 net/http 包。

  • documentation 目录是存放一些文档
  • benchmark 是压测
  • credentials 是验证
  • examples 是例子
  • grpclb 是负载均衡
  • grpclog 是日志
  • health 是服务健康检查
  • metadata 是元数据(用户客户端给服务端传送一些特殊数据)
  • naming 目录是提供名字服务需要实现的接口(相当于一个 dns)
  • stats 是统计信息
  • transport 传输层实现,主要是http2的客户端与服务端时实现

References